home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / SVD.z / SVD
Text File  |  1996-03-14  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. ____SSSSVVVVDDDD((((3333FFFF))))                                                              ____SSSSVVVVDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SVD, SSVD     -  EISPACK routine.  This subroutine determines the
  10.      singular value decomposition
  11.         T A=USV  of a REAL M by N rectangular matrix.  Householder
  12.      bidiagonalization and a variant of the QR algorithm are used.
  13.  
  14.  
  15. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  16.           ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee  ssssvvvvdddd((((nnnnmmmm,,,, mmmm,,,, nnnn,,,, aaaa,,,, wwww,,,, mmmmaaaattttuuuu,,,, uuuu,,,, mmmmaaaattttvvvv,,,, vvvv,,,, iiiieeeerrrrrrrr,,,, rrrrvvvv1111))))
  17.           iiiinnnntttteeeeggggeeeerrrr          nnnnmmmm,,,, mmmm,,,, nnnn,,,, iiiieeeerrrrrrrr
  18.           ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa((((nnnnmmmm,,,,nnnn)))),,,, wwww((((nnnn)))),,,, uuuu((((nnnnmmmm,,,,nnnn)))),,,, vvvv((((nnnnmmmm,,,,nnnn)))),,,, rrrrvvvv1111((((nnnn))))
  19.           llllooooggggiiiiccccaaaallll          mmmmaaaattttuuuu,,,, mmmmaaaattttvvvv
  20.  
  21.           ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssvvvvdddd((((nnnnmmmm,,,, mmmm,,,, nnnn,,,, aaaa,,,, wwww,,,, mmmmaaaattttuuuu,,,, uuuu,,,, mmmmaaaattttvvvv,,,, vvvv,,,, iiiieeeerrrrrrrr,,,, rrrrvvvv1111))))
  22.           iiiinnnntttteeeeggggeeeerrrr          nnnnmmmm,,,, mmmm,,,, nnnn,,,, iiiieeeerrrrrrrr
  23.           rrrreeeeaaaallll             aaaa((((nnnnmmmm,,,,nnnn)))),,,, wwww((((nnnn)))),,,, uuuu((((nnnnmmmm,,,,nnnn)))),,,, vvvv((((nnnnmmmm,,,,nnnn)))),,,, rrrrvvvv1111((((nnnn))))
  24.           llllooooggggiiiiccccaaaallll          mmmmaaaattttuuuu,,,, mmmmaaaattttvvvv
  25.  
  26.  
  27.  
  28. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  29.      On Input
  30.  
  31.      NNNNMMMM must be set to the row dimension of two-dimensional array parameters
  32.      as declared in the calling program dimension statement.  Note that NM
  33.      must be at least as large as the maximum of M and N.
  34.  
  35.      MMMM is the number of rows of A (and U).
  36.  
  37.      NNNN is the number of columns of A (and U) and the order of V.
  38.  
  39.      AAAA contains the rectangular input matrix to be decomposed.
  40.  
  41.      MMMMAAAATTTTUUUU should be set to .TRUE. if the U matrix in the decomposition is
  42.      desired, and to .FALSE. otherwise.
  43.  
  44.      MMMMAAAATTTTVVVV should be set to .TRUE. if the V matrix in the decomposition is
  45.      desired, and to .FALSE. otherwise.  On Output
  46.  
  47.      AAAA is unaltered (unless overwritten by U or V).
  48.  
  49.      WWWW contains the N (non-negative) singular values of A (the diagonal
  50.      elements of S).  They are UNORDERED.  If an error exit is made, the
  51.      singular values should be correct for indices IERR+1,IERR+2,...,N.
  52.  
  53.      UUUU contains the matrix U (orthogonal column vectors) of the decomposition
  54.      if MATU has been set to .TRUE.  Otherwise U is used as a temporary array.
  55.      U may coincide with A.  If an error exit is made, the columns of U
  56.      corresponding to indices of correct singular values should be correct.
  57.  
  58.      VVVV contains the matrix V (orthogonal) of the decomposition if MATV has
  59.      been set to .TRUE.  Otherwise V is not referenced.  V may also coincide
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____SSSSVVVVDDDD((((3333FFFF))))                                                              ____SSSSVVVVDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      with A if U is not needed.  If an error exit is made, the columns of V
  75.      corresponding to indices of correct singular values should be correct.
  76.  
  77.      IIIIEEEERRRRRRRR is set to Zero       for normal return, K          if the K-th
  78.      singular value has not been
  79.         determined after 30 iterations.
  80.  
  81.      RRRRVVVV1111 is a temporary storage array. CALLS PYTHAG(A,B) for sqrt(A**2 +
  82.      B**2).  Questions and comments should be directed to B. S. Garbow,
  83.      APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.